// package main

// import (
//  "database/sql"

//  "fmt"

//  _ "github.com/go-sql-driver/mysql"

// )

// // 定义一个全局对象db

// var db *sql.DB

// // 定义一个初始化数据库的函数

// func initDB() (err error) { dsn := "root:root123@tcp(127.0.0.1:3307)/mydb?charset=utf8mb4&parseTime=True"

//  // 不会校验账号密码是否正确

//  // 注意！！！这里不要使用:=，我们是给全局变量赋值，然后在main函数中使用全局变量db

//  db, err = sql.Open("mysql", dsn)
//  if err != nil {
//  return err

//  }
//  // 尝试与数据库建立连接（校验dsn是否正确）

//  err = db.Ping()
//  if err != nil {
//  return err

//  }
//  return nil

// }

// type user struct {
//  id int

//  username string

//  password string

// }

// // 查询一条用户数据

// func queryRowDemo() {
//  sqlStr := "select id, username, password from user_tb1 where id=?"

//  var u user

//  // 确保QueryRow之后调用Scan方法，否则持有的数据库链接不会被释放

//  err := db.QueryRow(sqlStr, 1).Scan(&u.id, &u.username, &u.password)
//  if err != nil {
//  fmt.Printf("scan failed, err:%v\n", err)
//  return

//  }
//  fmt.Printf("id:%d name:%s age:%s\n", u.id, u.username, u.password)
// }




// 		func main() { 
// 			err := initDB() // 调用输出化数据库的函数 
// 			if err != nil {
// 				 fmt.Printf("初始化失败！,err:%v\n", err) 
// 				 return 
// 				 }else{
// 					fmt.Println("初始化成功") }
// 					queryRowDemo() 
// 					// queryMultiRow() 
// 					}
